#ifndef HDCCAMERACONTROLWIDGET_H
#define HDCCAMERACONTROLWIDGET_H

#include <QtWidgets>
#include "../HCustomWidgets/HUICCirclePanelNoAni.h"
enum HEDCCONTROLBTNFUNC
{
    HEDCCF_CAMERA_ADD = 10, //为了与圆盘中的类型连接起来统一端口。
    HEDCCF_CAMERA_DEC,
    HEDCCF_FOCALDISTANCE_ADD,
    HEDCCF_FOCALDISTANCE_DEC,
    HEDCCF_APERTURE_ADD,
    HEDCCF_APERTURE_DEC
};

class HDCCameraControlWidget : public QWidget
{
    Q_OBJECT
public:
    HDCCameraControlWidget(QWidget *parent = 0);
    ~HDCCameraControlWidget();
    int                         currentSliderValue();

private:
    void                        initUI();

protected:
    void                        paintEvent(QPaintEvent *event);

private slots:
    void                        sltSliderValueChanged(int nValue);
    void                        sltCircelPanelBtnClicked(ButtonPosition position,ButtonType type);
    void                        sltCameraAddPressed();
    void                        sltCameraAddReleased();
    void                        sltCameraDecPressed();
    void                        sltCameraDecReleased();

    void                        sltFocalDistanceAddPressed();
    void                        sltFocalDistanceAddReleased();
    void                        sltFocalDistanceDecPressed();
    void                        sltFocalDistanceDecReleased();

    void                        sltApertureAddPressed();
    void                        sltApertureAddReleased();
    void                        sltApertureDecPressed();
    void                        sltApertureDecReleased();

private:
    QVBoxLayout                 *m_pvblMain;
    QHBoxLayout                 *m_phblUp;
    QVBoxLayout                 *m_pvblSubControl;
    QHBoxLayout                 *m_phblCamera;
    QHBoxLayout                 *m_phblFocalDistance;
    QHBoxLayout                 *m_phblAperture;
    QHBoxLayout                 *m_phblSpeed;

    HUICCirclePanelNoAni        *m_pwndCirclePanel;

    QLabel                      *m_plblCamera;
    QPushButton                 *m_ppbCameraAdd;
    QPushButton                 *m_ppbCameraDecrease;

    QLabel                      *m_plblFocalDistance;
    QPushButton                 *m_ppbFocalDistanceAdd;
    QPushButton                 *m_ppbFocalDistanceDecrease;

    QLabel                      *m_plblAperture;
    QPushButton                 *m_ppbApertureAdd;
    QPushButton                 *m_ppbApertureDecrease;

    QSlider                     *m_psliderSpeed;
    QLabel                      *m_plblSpeed;

signals:
    void                        sigCircelPanelBtnClicked(QVariant,QVariant);
    void                        sigFunctionBtnClicked(QVariant,QVariant);

};

#endif
